Methods and systems for ad placement planning

ABSTRACT

Methods and systems are disclosed which allow shifting inventory to fulfill guaranteed delivery advertisement contracts. Inventory may be allocated from a supply of unallocated inventory to one or more advertisers in accordance with guaranteed delivery agreements. Inventory may be reserved for the one or more advertisers from the remaining supply of unallocated inventory. Inventory may then be allocated to an additional advertiser by using unallocated inventory or shifted inventory, or a combination of unallocated inventory and shifted inventory. The shifted inventory is shifted out of the allocation for the first advertiser and the shifted inventory is replaced by the reserve inventory for the respective advertiser.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.13/339,254 filed Dec. 28, 2011, the entire content of which is herebyincorporated herein by reference.

BACKGROUND

Online advertising marketplaces and exchanges may involve, for example,entities or parties including advertisers, publishers and dataproviders, as well as a marketplace or online advertising operationsfacilitator, or market-maker. Data providers may supply information,such as information regarding users, user behavior or user interests,which may enhance value to advertisers in connection with purchasing ofadvertising inventory. However, in marketplaces and exchanges,significant difficulty and transactional friction may exist inselectivity, arrangements and cooperation between parties. This can leadto suboptimal interactions, reducing efficiency and disincentivizingmaximum engagement and spending. Furthermore, friction as well asinequities or unfairness may exist in connection with pricingarrangement, actual pricing, and allocation of spend between partiesincluding advertisers and data providers, and such as in connection withsold advertising inventory.

There is a need for improved techniques in online advertising, includingin online advertising marketplaces and exchanges, to increasetransactional efficiency.

SUMMARY

Some embodiments of the invention provide systems and methods forinventory reservation to fulfill guaranteed delivery advertisementcontracts. In accordance with some embodiments, a first inventory may beallocated from a supply of unallocated inventory to a first advertiser,wherein the first inventory satisfies the first advertiser's targetingcriteria, and wherein the supply includes advertising opportunityinventory. For example, an advertiser may request 5000 impressions froma supply of 10,000 impressions. In some embodiments, the relationshipbetween demand (e.g., contracts) and supply (e.g., impressions) may bemodeled as a bipartite graph. A second inventory is then allocated fromthe remaining supply of unallocated inventory to a second advertiser,wherein the second inventory satisfies the second advertiser's targetingcriteria.

A third inventory is reserved from the remaining supply of unallocatedinventory to the first advertiser. The third inventory may be reservedfor the first advertiser proportionally. In other words, the amount ofthe reserve inventory allocated to the first advertiser may beproportional to the amount of percentage of matching inventory that wasallocated to the first advertiser. For example, out of a 10,000impression supply, if 5000 was allocated to the first advertiser, andall of the remaining 5000 impressions meet the first advertiser'stargeting criteria, then 2500 impressions (50% of 5000) will be reservedfor the first advertiser. A fourth inventory is then reserved from theremaining supply of unallocated inventory to the second advertiser,wherein the fourth inventory satisfies the second advertiser's targetingcriteria. As explained above, the fourth inventory may be reserved forthe second advertiser proportionally.

A fifth inventory is allocated to a third advertiser, wherein the fifthinventory satisfies the third advertiser's targeting criteria and alsosatisfies the first advertiser's targeting criteria or the secondadvertiser's targeting criteria, by using unallocated inventory orshifted inventory, or a combination of unallocated inventory and shiftedinventory. The shifted inventory is shifted out of the allocation forthe first advertiser or the allocation for the second advertiser, andwherein the shifted inventory is replaced by the reserve inventory forthe respective advertiser. Using the above example, assume that 5000impressions from the supply of 10,000 impressions are allocated to thefirst advertiser, and 3000 impressions from the remaining 5000impressions are allocated to the second advertiser. Now, if the thirdadvertiser requests 2000 impressions, and the remaining 2000 impressionsmeet the third advertiser's criteria, then those 2000 impressions willbe allocated to the third advertiser. However, if the 2000 impressionsdon't meet the third advertiser's criteria, then the third advertiser'sdemand may be filled with inventory which is shifted from theimpressions allocated to the first and/or second advertisers. Thus, ifpart of the impressions which are allocated to the first and/or secondadvertisers meet the third advertiser's criteria, those impressions willbe allocated to the third advertiser and the impressions which wereshifted out from the first and/or second advertisers will be replaced bythe impressions which were reserved for the first and/or secondinventory.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a distributed computer system according to one embodiment ofthe invention;

FIG. 2 is a flow diagram illustrating a method according to oneembodiment of the invention;

FIG. 3 is a flow diagram illustrating a method according to oneembodiment of the invention;

FIG. 4 is a flow diagram illustrating a method according to oneembodiment of the invention; and

FIG. 5 is an exemplary bipartite graph according to one embodiment ofthe invention.

DETAILED DESCRIPTION

FIG. 1 is a distributed computer system 100 according to one embodimentof the invention. The system 100 includes user computers 104, advertisercomputers 106 and server computers 108, all coupled or able to becoupled to the Internet 102. Although the Internet 102 is depicted, theinvention contemplates other embodiments in which the Internet is notincluded, as well as embodiments in which other networks are included inaddition to the Internet, including one more wireless networks, WANs,LANs, telephone, cell phone, or other data networks, etc. The inventionfurther contemplates embodiments in which user computers 104 may be orinclude desktop or laptop PCs, as well as, wireless, mobile, or handhelddevices such as cell phones, PDAs, tablets, etc.

Each of the one or more computers 104, 106 and 108 may be distributed,and can include various hardware, software, applications, algorithms,programs and tools. Depicted computers may also include a hard drive,monitor, keyboard, pointing or selecting device, etc. The computers mayoperate using an operating system such as Windows by Microsoft, etc.Each computer may include a central processing unit (CPU), data storagedevice, and various amounts of memory including RAM and ROM. Depictedcomputers may also include various programming, applications, algorithmsand software to enable searching, search results, and advertising, suchas graphical or banner advertising as well as keyword searching andadvertising in a sponsored search context. Many types of advertisementsare contemplated, including textual advertisements, rich advertisements,video advertisements, etc.

As depicted, each of the server computers 108 includes one or more CPUs110 and a data storage device 112. The data storage device 112 includesa database 116 and an Ad Placement Planning Program 114.

The Program 114 is intended to broadly include all programming,applications, algorithms, software and other and tools necessary toimplement or facilitate methods and systems according to embodiments ofthe invention. The elements of the Program 114 may exist on a singleserver computer or be distributed among multiple computers or devices.

As will be understood by one of ordinary skill in the art, in aguaranteed delivery advertising model, advertisers may enter into anagreement (e.g., a contract) with a publisher (e.g., a search engine,online newspaper, etc.) which guarantees or provides some measure ofassurance that the advertiser will receive a certain agreed upon amountof suitable advertising. For example, the agreement may provide that theadvertisement will have one million impressions (e.g., page views). Bycontrast, non-guaranteed delivery advertising models may be based onindividual serving opportunities or may be spot market-based. In variousmodels, advertisers may pay based on any of various metrics associatedwith advertisement delivery or performance, or associated withmeasurement or approximation of a particular advertiser goal. Forexample, models can include, among other things, payment based on costper impression or number of impressions, cost per click or number ofclicks, cost per action for some specified action, cost per conversionor purchase, or cost based on some combination of metrics, which caninclude online or offline metrics. The guaranteed delivery contracts maydefine targeting criteria such as, for example, user location, age,demographic, user profile information, search history, browse history,etc. For example, an advertiser may request that their advertisement bedisplayed when a page is visited by young females in CA.

However, the “supply” of impressions is substantially uncertain and maychange over time. For example, unpredictable events such as naturaldisasters or acts of terrorism may result in large increases in traffic.Thus, since the supply is based on the impressions, the publisher canonly attempt to estimate the future supply. In addition, the capacity isnon-storable over time; as the supply is generated from the number ofimpressions, the publisher has to decide how to allocate the supplywithin a few seconds before it perishes. Selling the impressions topotential advertisers is further complicated by the issue of contentionbetween different advertisers for the same impression. Advertisers mayseek to reach a specific audience, e.g., females from California beforesunset and when the stock market is up (e.g., Dow Jones IndustrialAverage has risen). Others may accept more loosely defined, lesstargeted impressions (e.g., females).

Embodiments of the invention improve the efficiency of booking andallocating maximum demand and checking for availability for newguaranteed delivery contracts while managing contention betweendifferent contracts. FIG. 2 is a flow diagram illustrating a method 200according to one embodiment of the invention. At step 202, using one ormore computers, a first inventory from a supply of unallocated inventoryis allocated to a first advertiser, wherein the first inventorysatisfies the first advertiser's targeting criteria, and wherein thesupply includes advertising opportunity inventory. For example, anadvertiser may request 5000 impressions from a supply of 10,000impressions. In some embodiments, the relationship between demand (e.g.,contracts) and supply (e.g., impressions) may be modeled as a bipartitegraph (explained in more detail in relation with FIG. 5).

At step 204, using one or more computers, a second inventory isallocated from the remaining supply of unallocated inventory to a secondadvertiser, wherein the second inventory satisfies the secondadvertiser's targeting criteria.

At step 206, using one or more computers, a third inventory is reservedfrom the remaining supply of unallocated inventory to the firstadvertiser, wherein the third inventory satisfies the first advertiser'stargeting criteria. The third inventory may be reserved for the firstadvertiser proportionally. In other words, the amount of the reserveinventory allocated to the first advertiser may be proportional to theamount of inventory that was allocated to the first advertiser in step202. For example, out of a 10,000 impression supply, if 5000 wasallocated to the first advertiser, and all of the remaining 5000impressions meet the first advertiser's targeting criteria, then 2500impressions (50% of 5000) will be reserved for the first advertiser.

At step 208, using one or more computers, a fourth inventory is reservedfrom the remaining supply of unallocated inventory to the secondadvertiser, wherein the fourth inventory satisfies the secondadvertiser's targeting criteria. As explained above, the fourthinventory may be reserved for the second advertiser proportionally.

At step 210, using one or more computers, a fifth inventory is allocatedto a third advertiser, wherein the fifth inventory satisfies the thirdadvertiser's targeting criteria and also satisfies the firstadvertiser's targeting criteria or the second advertiser's targetingcriteria, by using unallocated inventory or shifted inventory, or acombination of unallocated inventory and shifted inventory, wherein theshifted inventory is shifted out of the allocation for the firstadvertiser or the allocation for the second advertiser, and wherein theshifted inventory is replaced by the reserve inventory for therespective advertiser. Using the above example, assume that 5000impressions from the supply of 10,000 impressions are allocated to thefirst advertiser, and 3000 impressions from the remaining 5000impressions are allocated to the second advertiser. Now, if the thirdadvertiser requests 2000 impressions, and the remaining 2000 impressionsmeet the third advertiser's criteria, then those 2000 impressions willbe allocated to the third advertiser. However, if the 2000 impressionsdon't meet the third advertiser's criteria, then the third advertiser'sdemand may be filled with inventory which is shifted from theimpressions allocated to the first and/or second advertisers. Thus, ifpart of the impressions which are allocated to the first and/or secondadvertisers meet the third advertiser's criteria, those impressions willbe allocated to the third advertiser and the impressions which wereshifted out from the first and/or second advertisers will be replaced bythe impressions which were reserved for the first and/or secondinventory. It should be noted that the above steps 206-210 may berepeated each time a new contract is to be filled (i.e., have inventoryallocated to it).

FIG. 3 is a flow diagram illustrating a method 300 according to oneembodiment of the invention. At step 302, using one or more computers, afirst inventory from a supply of unallocated inventory is allocated to afirst advertiser, wherein the first inventory satisfies the firstadvertiser's targeting criteria, and wherein the supply includesadvertising opportunity inventory. For example, an advertiser mayrequest 5000 impressions from a supply of 10,000 impressions. In someembodiments, the relationship between demand (e.g., contracts) andsupply (e.g., impressions) may be modeled as a bipartite graph(explained in more detail in relation with FIG. 5).

At step 304, using one or more computers, a second inventory isallocated from the remaining supply of unallocated inventory to a secondadvertiser, wherein the second inventory satisfies the secondadvertiser's targeting criteria.

At step 306, using one or more computers, a third inventory is reservedfrom the remaining supply of unallocated inventory to the firstadvertiser, wherein the third inventory satisfies the first advertiser'stargeting criteria.

At step 308, using one or more computers, a fourth inventory is reservedfrom the remaining supply of unallocated inventory to the secondadvertiser, wherein the fourth inventory satisfies the secondadvertiser's targeting criteria.

At step 310, using one or more computers, a fifth inventory is allocatedto a third advertiser, wherein the fifth inventory satisfies the thirdadvertiser's targeting criteria and also satisfies the firstadvertiser's targeting criteria or the second advertiser's targetingcriteria, by using unallocated inventory or shifted inventory, or acombination of unallocated inventory and shifted inventory, wherein theshifted inventory is shifted out of the allocation for the firstadvertiser or the allocation for the second advertiser, and wherein theshifted inventory is replaced by the reserve inventory for therespective advertiser. At step 312, using one or more computers, one ormore advertisements may be served to users (e.g., visitors to websites)based at least in part on the allocations. It should be noted that theabove steps 306-310 may be repeated each time a new contract is to befilled (i.e., have inventory allocated to it).

FIG. 4 is a flow diagram illustrating a method 400 according to oneembodiment of the invention. At step 402, using one or more computers, afirst inventory from a supply of unallocated inventory is allocated to afirst advertiser, wherein the first inventory satisfies the firstadvertiser's targeting criteria, and wherein the supply includesadvertising opportunity inventory. For example, an advertiser mayrequest 5000 impressions from a supply of 10,000 impressions. In someembodiments, the relationship between demand (e.g., contracts) andsupply (e.g., impressions) may be modeled as a bipartite graph(explained in more detail in relation with FIG. 5).

At step 404, using one or more computers, a second inventory isallocated from the remaining supply of unallocated inventory to a secondadvertiser, wherein the second inventory satisfies the secondadvertiser's targeting criteria.

At step 406, using one or more computers, a third inventory is reservedfrom the remaining supply of unallocated inventory to the firstadvertiser, wherein the third inventory satisfies the first advertiser'stargeting criteria. The third inventory is reserved for the firstadvertiser proportionally. As discussed above, the amount of the reserveinventory allocated to the first advertiser is proportional to theamount of inventory that was allocated to the first advertiser in step402. For example, out of a 10,000 impression supply, if 5000 wasallocated to the first advertiser, and all of the remaining 5000impressions meet the first advertiser's targeting criteria, then 2500impressions (50% of 5000) will be reserved for the first advertiser.

At step 408, using one or more computers, a fourth inventory is reservedfrom the remaining supply of unallocated inventory to the secondadvertiser, wherein the fourth inventory satisfies the secondadvertiser's targeting criteria. As explained above, the fourthinventory may be reserved for the second advertiser proportionally.

At step 410, using one or more computers, a fifth inventory is allocatedto a third advertiser, wherein the fifth inventory satisfies the thirdadvertiser's targeting criteria and also satisfies the firstadvertiser's targeting criteria or the second advertiser's targetingcriteria, by using unallocated inventory or shifted inventory, or acombination of unallocated inventory and shifted inventory, wherein theshifted inventory is shifted out of the allocation for the firstadvertiser or the allocation for the second advertiser, and wherein theshifted inventory is replaced by the reserve inventory for therespective advertiser. It should be noted that the above steps 406-410may be repeated each time a new contract is to be filled (i.e., haveinventory allocated to it).

FIG. 5 illustrates an exemplary bipartite graph according to oneembodiment of the invention. Bipartite graph 500 shows the eligibilityedges between demand and supply nodes. In other words, bipartite graph500 depicts how much of the available supply is eligible for each demandnode (contract). The table below summarizes the demand and eligiblesupply for the demand and supply nodes shown in FIG. 5.

Node Demand Eligible Supply D1 200 1000 D2 100 1200 D3 400 1400

The bipartite graph may be mathematically represented as G=(C, S, E)with C representing contracts (e.g., demand nodes) and S representingthe supply nodes (e.g., different types of users visiting a website). Ademand node j is connected (via edges E) to all supply nodes that areeligible for it. Each supply node i has an associated weight Si that isthe forecast for the number of impressions of that type and each demandnode j has an associated demand d_(j) which is the number of requestedimpressions. A feasible allocation for the demands is a way of dividingup the supply among the contracts so that all demands are met. Formally,an allocation is represented by a fraction x_(ij)ε[0, 1] for every edge(i,j)εE, which specifies that s_(i)x_(ij) amount of supply i is bookedfor demand node j. The requirement that the supply node is notoverallocated corresponds to the condition that for all supply nodes i,Σ_(j:j˜i)x_(ij)≦1, where j˜i is notation for “j is connected to i” (andvice-versa). The requirement that all demands are met corresponds to thecondition that for all demand nodes j, Σ_(i:i˜j)s_(i)x_(ij)=d_(j).Suppose an existing graph has an allocation meeting the current demands.We now want to add a new contract to the graph. The new demand node maybe represented as j*, with its associated edges (i,j*) for the supplynodes i that are eligible for it.

Embodiments of the present invention allow for the possibility ofshifting supply to allow more demand to be booked. The main impedimentto shifting is that access is only available to a two neighborhood graphG_(j*), and any shifted inventory must necessarily be moved outside theG_(j*). Embodiments of the present invention rely on reserve inventoriesto allow shifting. In accordance with one embodiment, unallocatedinventory within every supply node is divided up among the contracts(demand nodes) that are connected to it as reserved inventory. Forexample, suppose that impression i has two eligible contracts, 1 and 2,and that x_(i1)=0.1 and x_(i2)=0.2. Then supply node i has 70% of itsinventory unallocated, and this 70% will be divided between contracts 1and 2 proportionally. This process is repeated for every impression. Inmore detail, suppose we start with a graph G=(C, S, E) with some initialallocation, x_(ij) for every edge (i,j)εE. Reserve inventories for everycontract j in the graph are computed as follows. For every supply nodei, the unallocated space among the contracts connected to it is dividedup proportional to their allocated amounts. For example, contract j gets

$\frac{x_{ij}}{\sum\limits_{j^{\prime} \sim i}\;}x_{{ij}^{\prime}}$

fraction of the unallocated space in i reserved to it, which works outto a reserved supply of size:

$\begin{matrix}{{Res}_{ij} = {{s_{i}\frac{x_{ij}}{\sum\limits_{j^{\prime} \sim i}\; x_{{ij}^{\prime}}}} - {s_{i}x_{ij}}}} & (1)\end{matrix}$

For every contract j, the total reserved inventory to it is:

R_(j):=Σ_(i:i˜j)Res_(ij)  (2)

As mentioned above, for a query node j*, a two neighborhood graph G_(j*)(which shows a set of eligible impressions for j*, as well as all thecontracts that match at least one of those eligible impressions) isdetermined. Impressions i˜j* are referred to as being inside the queryregion (and other impressions as outside). The allocation x_(ij) iscomputed for every impression i and contract j in G_(j*). From this itis determined how much of the “inside” inventory is currently booked. Inparticular, there is Σ_(i:i˜j*)s_(i) eligible supply, butΣ_(j)(Σ_(i:i˜j) s_(i)x_(ij)) of it is booked. However, for each contractj, there is R_(j) reserved inventory available for shifting. That is, upto R_(j) inventory currently allocated to j may be shifted from “inside”impressions to “outside” impressions. However, some of this reservedinventory actually comes from inside impressions, so it cannot be usedfor shifting. Thus, the amount of “inside” reserved inventory iscalculated for j, and R′_(j) is set to be the amount “outside.” Thus,for each j, if R′_(j) is greater than the amount currently allocated toinside impressions, then all of the allocation may be shifted outsidethe query region (recall that reserved inventory is partitioned, so thatno two contracts share any reserved inventory). Otherwise, if R′_(j) isless than the amount currently allocated inside, R′_(j) may be shiftedoutside. Thus, the total amount booked, after shifting as much aspossible, becomes:

Σ_(j) max{0,Σ_(i:i˜j)s_(i)x_(ij)−R′_(j)}  (3)

Now suppose we are required to book some demand D for the contract j*.If D can be accommodated without changing any previous allocation, thenD will be accommodated.

On the other hand, if contracts must be shifted to accommodate D, thenthe total amount that must be shifted to “outside” inventory iscomputed. This amount is then split among allocated contracts,proportional to the total amount that each contract is able to shift(this is min{Σ_(i:i˜j)s_(i)x_(ij), R′_(j)}, where R′_(j) is the reservedinventory “outside.”).

Suppose contract j must shift Sh_(j) inventory, and it has X allocatedinside. Then, the allocation x_(ij) is uniformly changed for everyinside impression to be 1−Sh_(hj)/X_(j). Likewise, since Sh_(hj)inventory was shifted outside, the value R′_(j) must be decreasedaccordingly.

While the invention is described with reference to the above drawings,the drawings are intended to be illustrative, and the inventioncontemplates other embodiments within the spirit of the invention.

1. A computerized method comprising: allocating an inventory ofadvertising impressions from a plurality of supply nodes to satisfy ademand for advertising impressions received from a plurality of demandnodes, wherein each demand node receives an allocation from at leastsome of the plurality of supply nodes, and wherein the inventory isallocated in accordance with advertiser targeting criteria associatedwith each demand node, respectively; determining a reserve inventory ofunallocated advertising impressions for each demand node such that, foreach supply node, unallocated advertising impressions are partitionedfor allocation among the demand nodes receiving an allocation from asupply node proportionally to the supply node's allocated inventory; andallocating, for each new demand node, an additional inventory ofadvertising impressions, wherein the additional inventory satisfiesadvertiser targeting criteria associated with a new demand node and alsosatisfies advertiser targeting criteria associated with at least oneother demand node, by shifting supply to accommodate the new demand nodeusing a combination of unallocated inventory and shifted inventory,wherein the shifted inventory is shifted out of at least one otherdemand node's allocation, and wherein the shifted inventory is replacedby the reserve inventory partitioned for allocation to the at least oneother demand node.
 2. The method of claim 1, further comprising modelinginventory allocation as a bipartite graph such that eligibility edgesbetween the plurality of supply nodes and the plurality of demand nodesdepict how much inventory is available for each demand node.
 3. Themethod of claim 2, wherein each demand node is connected via aneligibility edge to one or more eligible supply nodes based at least onadvertiser targeting criteria associated with each demand node,respectively.
 4. The method of claim 2, wherein, for each eligibilityedge, an allocation is represented by a fraction which specifies that anamount of inventory is reserved for a demand node.
 5. The method ofclaim 1, wherein each demand node has an associated demand which is anumber of requested advertising impressions.
 6. The method of claim 5,wherein, the inventory of advertising impressions is divided among theplurality of demand nodes such that all demands for requestedadvertising impressions are met.
 7. The method of claim 1, wherein eachsupply node includes an associated weight that is a forecast for anumber of impressions of a particular type.
 8. The method of claim 1,wherein, for a query demand node, a set of eligible impressions inside aquery region are considered to be inside impressions, and otherimpressions outside the query region are considered to be outsideimpressions, and wherein for each demand node there is at least somereserved inventory, R_(j), available for shifting, such that up to R_(j)inventory currently allocated to a demand node may be shifted frominside impressions to outside impressions.
 9. The method of claim 8,wherein, for each demand node, if an amount of outside impressions,R′_(j), is greater than an amount of currently allocated insideimpressions, then all of the allocation is shifted outside the queryregion, and wherein if R′_(j) is less than the amount of currentlyallocated inside impressions, then R′_(j) is shifted outside the queryregion.
 10. The method of claim 1, further comprising: determining anamount of supply that must be shifted to accommodate a demand thatcannot be accommodated without changing a previous allocation; andsplitting the amount of supply that must be shifted among allocatedinventory proportional to a total amount of allocated inventory thateach demand node is able to shift.
 11. A system comprising: one or moredatabases; one or more server computers in communication with the one ormore databases, the one or more server computers configured to: allocatean inventory of advertising impressions from a plurality of supply nodesto satisfy a demand for advertising impressions received from aplurality of demand nodes, wherein each demand node receives anallocation from at least some of the plurality of supply nodes, andwherein the inventory is allocated in accordance with advertisertargeting criteria associated with each demand node, respectively;determine a reserve inventory of unallocated advertising impressions foreach demand node such that, for each supply node, unallocatedadvertising impressions are partitioned for allocation among the demandnodes receiving an allocation from a supply node proportionally to thesupply node's allocated inventory; and allocate, for each new demandnode, an additional inventory of advertising impressions, wherein theadditional inventory satisfies advertiser targeting criteria associatedwith a new demand node and also satisfies advertiser targeting criteriaassociated with at least one other demand node, by shifting supply toaccommodate the new demand node using a combination of unallocatedinventory and shifted inventory, wherein the shifted inventory isshifted out of at least one other demand node's allocation, and whereinthe shifted inventory is replaced by the reserve inventory partitionedfor allocation to the at least one other demand node.
 12. The system ofclaim 11, further comprising modeling inventory allocation as abipartite graph such that eligibility edges between the plurality ofsupply nodes and the plurality of demand nodes depict how much inventoryis available for each demand node.
 13. The system of claim 12, whereineach demand node is connected via an eligibility edge to one or moreeligible supply nodes based at least on advertiser targeting criteriaassociated with each demand node, respectively.
 14. The system of claim12, wherein, for each eligibility edge, an allocation is represented bya fraction which specifies that an amount of inventory is reserved for ademand node.
 15. The system of claim 11, wherein each demand node has anassociated demand which is a number of requested advertisingimpressions.
 16. The system of claim 15, wherein, the inventory ofadvertising impressions is divided among the plurality of demand nodessuch that all demands for requested advertising impressions are met. 17.The system of claim 11, wherein each supply node includes an associatedweight that is a forecast for a number of impressions of a particulartype.
 18. The system of claim 11, wherein, for a query demand node, aset of eligible impressions inside a query region are considered to beinside impressions, and other impressions outside the query region areconsidered to be outside impressions, and wherein for each demand nodethere is at least some reserved inventory, R_(j), available forshifting, such that up to R_(j) inventory currently allocated to ademand node may be shifted from inside impressions to outsideimpressions.
 19. The system of claim 18, wherein, for each demand node,if an amount of outside impressions, R′_(j), is greater than an amountof currently allocated inside impressions, then all of the allocation isshifted outside the query region, and wherein if R′_(j) is less than theamount of currently allocated inside impressions, then R′_(j) is shiftedoutside the query region.
 20. The system of claim 11, furthercomprising: determining an amount of supply that must be shifted toaccommodate a demand that cannot be accommodated without changing aprevious allocation; and splitting the amount of supply that must beshifted among allocated inventory proportional to a total amount ofallocated inventory that each demand node is able to shift.
 21. Acomputer program product embedded in a non-transitory computer readablemedium comprising instructions executable by a computer processor for adplacement planning, the instructions being executable by a computerprocessor to execute processing comprising: allocating an inventory ofadvertising impressions from a plurality of supply nodes to satisfy ademand for advertising impressions received from a plurality of demandnodes, wherein each demand node receives an allocation from at leastsome of the plurality of supply nodes, and wherein the inventory isallocated in accordance with advertiser targeting criteria associatedwith each demand node, respectively; determining a reserve inventory ofunallocated advertising impressions for each demand node such that, foreach supply node, unallocated advertising impressions are partitionedfor allocation among the demand nodes receiving an allocation from asupply node proportionally to the supply node's allocated inventory; andallocating, for each new demand node, an additional inventory ofadvertising impressions, wherein the additional inventory satisfiesadvertiser targeting criteria associated with a new demand node and alsosatisfies advertiser targeting criteria associated with at least oneother demand node, by shifting supply to accommodate the new demand nodeusing a combination of unallocated inventory and shifted inventory,wherein the shifted inventory is shifted out of at least one otherdemand node's allocation, and wherein the shifted inventory is replacedby the reserve inventory partitioned for allocation to the at least oneother demand node.